www.gusucode.com > Hybrid-Electric Vehicle Model in Simulink工具箱matlab源码 > Hybrid-Electric Vehicle Model in Simulink/HEV_SeriesParallel_R17a/Fuel_Consumption/Create_Fuel_Consumption_LUT.m
%% ESTIMATE FUEL CONSUMPTION WITH MEASURED DATA % Copyright 2011-2017 The MathWorks, Inc. % CONSTANTS gasoline_density_gpm3 = 750*1000; % Grams per cubic meter gallons_per_m3 = 264.172; % gallons per cubic meter %% IMPORT EXPERIMENTAL DATA % http://www.transportation.anl.gov/pdfs/HV/2.pdf FC_Measured_Data = xlsread('Fuel_Consumption_DATA.xlsx'); FCData.Speed_RPM = FC_Measured_Data(1:(end-1),1); FCData.Trq_Nm = FC_Measured_Data(1:(end-1),2); FCData.FuelUse_gps = FC_Measured_Data(1:(end-1),3)/gallons_per_m3*gasoline_density_gpm3; Fuel_Consumption_PlotData %% OPEN SURFACE FITTING TOOL cftool(FCData.Speed_RPM, FCData.Trq_Nm, FCData.FuelUse_gps) % Polynomial, x=2, y=2 % Fit/Save to Workspace % sftool('FC_SFit_Session.sfit') % Saved Session %% GENERATE LOOKUP TABLE load FCMap_Poly2 numpts = 10; FCMap.Speed_Vector = linspace(min(FCData.Speed_RPM),max(FCData.Speed_RPM),numpts); FCMap.Torque_Vector = linspace(min(FCData.Trq_Nm),max(FCData.Trq_Nm),numpts); [SpeedArray,TorqueArray] = meshgrid(FCMap.Speed_Vector,FCMap.Torque_Vector); FCMap.Consumption_Table = FCMap_Poly2(SpeedArray,TorqueArray); % PLOT LOOKUP TABLE AS SURFACE surf(SpeedArray,TorqueArray,FCMap.Consumption_Table);